FIG. 1 illustrates a simplified diagram of well-known brushless motor 1 by way of a non-limiting example. Motor 1 has a stator with stator coils 10 ("A"), 20 ("B") and 30 ("C") and has rotor 50 turning in center 60. The number of M=3 coils is convenient for explanation, but not necessary. Brushless motors are known for other numbers, such as M=1 or M&gt;3. Preferably, rotor 50 is a permanent magnet. Stator 10/20/30 and rotor 50 can be arranged in a different manner well known to a person of skill in the art.
A controller (not shown) sequentially applies currents ("energizing", "exciting") to each of the coils. Stator coils 10, 20, and 30 thereby establish a rotating magnetic field .psi..sub.S (index "S" for "stator", underscoring for "vector") which acts on the permanent magnetic field .psi..sub.R of the rotor ((index "R")). The resulting mechanical torque moves the rotor and any other mechanical load attached thereto.
The excitation of the coils can be unipolar (only a single current direction for each coil) or bipolar (alternative current directions). By providing coil currents I.sub.A, I.sub.B and I.sub.C (not illustrated in FIG. 1) to coils A, B, and C, the motor controller has to ensure that rotor 50 reaches a rated speed within a predetermined time from stand-still; that the rotor only moves in a predetermined sense; and that rotor 50 provides a predetermined torque at start and at a rated speed. The torque has a maximum when the field angle .alpha.(.psi..sub.S,.psi..sub.R) is about .pi./2.+-..pi./6. The mechanical load at rotor 50 is usually unknown.
It is possible to determine the position (e.g., .phi. in angular coordinates) of rotor 50 in relation to stator 10/20/30 by monitoring voltages U.sub.A, U.sub.B, U.sub.C (not illustrated) induced in coils A, B and C ("back electromagnetic force--back EMF").
Value (e.g., millivolts) and direction (+-) of U.sub.A, U.sub.B and U.sub.C are determined by the actual position (.phi.) and the rotation speed (d.phi./dt) of rotor 50. At rated rotor speed U.sub.A, U.sub.B, U.sub.C behave like the voltages generated in a 3-phase-AC-generator. However, at stand-still (zero speed d.phi./dt=0), U.sub.A, U.sub.B and U.sub.C are also zero and the position (.phi.) is arbitrary (hence unknown to the motor control).
U.S. Pat. No. 5,233,275 to Danino [1] teaches a circuit which detects zero-crossing of U.sub.A, U.sub.B or U.sub.C to which power is currently being supplied and uses that detection as positional information. U.S. Pat. No. 5,017,845 to Carobolante et al. [2] teaches sampling magnitude (volts) and sign of the slope (dU/dt) of the back EMF of the coils which are not energized (floating). U.S. Pat. No. 5,751,128 to Chalupa et al. [3] (same assignee as for the present application) teaches to measure the time duration between two consecutive zero-crossings of the EMF and to derive control information therefrom.
When the motor is being started up, it is still difficult to estimate to most effective commutating time points. The present invention seeks to provide an improved method and apparatus for electronically commutating a motor and to avoid disadvantages and limitations of the prior art.